#pragma once

#include "ObjectTracker.h"
#include "TypeTracker.h"

#include <fstream>

class FinalizerRunLogger
{
public:
	FinalizerRunLogger(const ObjectTracker &objectTracker);

	STDMETHODIMP Initialize(const std::wstring &logFilePath);

	STDMETHODIMP FinalizeableObjectQueued(DWORD finalizerFlags, ObjectID objectID);
	STDMETHODIMP Shutdown();
	~FinalizerRunLogger(void);

private:
	const ObjectTracker &m_ObjectTracker;

	std::wofstream outputWriter;
};
